#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
//测试qsort来排序整型
//
//对函数返回值有要求
//函数cmp_int是进行比较的
int cmp_int(const void* p1, const void* p2)//这个函数比较p1和p2指向元素的大小
{//因为void*类型的指针不能解引用，我们必须将其强制类型转换，将void*类型的p1,p2转换为int *类型的指针
	if (*(int*)p1 > *(int*)p2)//强制转换完之后再进行解引用调用p1和p2指向的元素的值，再进行比较
	{
		return 1;
	}
	else if (*(int*)p1 < *(int*)p2)
	{
		return -1;
	}
	else
	{
		return 0;
	}
}
//// //进行简化
//int cmp_int(const void* p1, const void* p2)
//{
//	return *(int*)p1 - *(int*)p2;//强制类型转换再解引用
//}
//相等返回就是0
void print_arr(int arr[], int sz)
{
	for (int i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);
	}
}

void test1()
{
	int arr[] = { 9,8,7,6,5,4,3,2,1 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	qsort(arr,sz,sizeof(arr[0]), cmp_int);
	print_arr(arr, sz);

}

int main()
{
	test1();//整型数组升序


	return 0;
}
//对整型数组排序---利用qsort

